home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / hity wydania / Ubuntu 9.10 PL / karmelkowy-koliberek-desktop-9.10-i386-PL.iso / casper / filesystem.squashfs / usr / share / doc / libdv4 / TODO < prev   
Text File  |  2001-02-07  |  2KB  |  55 lines

  1. [ This file is way out of date ]
  2.  
  3. Performance:
  4.  
  5.   - MMX ycrcb conversion to rgb 
  6.  
  7.   - combine multiplies across weight/quant/idct prescale (?)
  8.  
  9.   - parse:
  10.         - re-arrange data so that coeff blocks are all one big array
  11.           (alignment + one big memset (mmx!) at beginning of segment)
  12.         - more efficient bookkeeping (vs current brute force mark and sweep) 
  13.           in second and third passes of parse
  14.  
  15.   - still optimize vlc:
  16.         - combine lookup tables that use the same index:
  17.             - first level of classes, class_index_mask, class_index_rshift
  18.           (all indexed by maxbits)
  19.             - vlc_lookups, vlc_index_mask, vlc_index_rshift (all indexed by class)
  20.             - sign_mask, sign_rshift (indexed by vlc len)
  21.       
  22.   - think about optimizing vlc/getbits interface based on a few 
  23.     observations:
  24.     - there are three lookups in vlc of the form ((bits & mask) >> shift) are really doing this:
  25.               bitstream_show_skip(bs,skip,len) // show len bits, beginning skip bits from current position
  26.         - if we add that interface, and then mmx getbits, this could free registers
  27.           for better tuning the rest of the vlc lookup code.
  28.             - note that start and len are bounded to the range 0-16, it might pay
  29.               to ensure that after flush, show can always count on at least 16 bits
  30.               remaining in bs->current_word
  31.             - (there are multiple shows for each flush - eliminates branch in show)
  32.     - since we parse a whole video segment before we do idcts, we can reserve
  33.           mmx registers for getbits state for the entire duration of parsing a video segment
  34.              - note that bitstream state is re-initialized everytime we start a new video segment
  35.  
  36.  - mmx version of 248 idct
  37.  
  38.   - tune cache footprint: access input and output withouth polluting L1
  39.  
  40.   - get everything working in Windows and use VTune to analyze and
  41.     improve x86 performance.
  42.  
  43. Documentation:
  44.  
  45.   - there is none!
  46.  
  47.   - the contents of this file has/will move to the project task list
  48.     on sourceforge.
  49.  
  50.  
  51.         
  52.  
  53.             
  54.     
  55.